Our Pattern Language (OPL): A Design Pattern Language for Engineering (Parallel) Software
نویسنده
چکیده
The trend has been well established [Asanovic09]: parallel processors will dominate most if not every niche of computing. This move to parallelism was not a triumphant march forward to celebrate our success in creating productive and efficient software environments for parallel microprocessors. Instead it was a sudden retreat from the immediate danger of building powerinefficient microprocessors. Thus, while the semiconductor industry is banking its future on parallel microprocessors, the software industry has not yet offered a satisfying solution to the problem of programming these devices. We believe that we have an answer to this challenge. In particular, we believe that the key to productive and efficient software is in good software architecture, and that our challenges in programming parallel processors reflects a more fundamental weakness in our ability to architect software in general.
منابع مشابه
Towards a Measurement Ontology Pattern Language
Measurement is an important activity in several domains. Although there are specific concepts regarding measurement in each domain, some concepts are common to all of them. This paper presents a Measurement Ontology Pattern Language (M-OPL) that addresses the measurement core conceptualization. M-OPL can be used for building measurement ontologies to several domains. The ontology patterns that ...
متن کاملIntroduction to Design Patterns for Parallel Computing
The key to writing high quality parallel software is to develop a robust software design. This applies to the overall architecture of the program, but also to the lower layers in the software system where the concurrency and how it is expressed in the final program is defined. Technology to more systematically describe such designs and reuse them between software projects is the fundamental pro...
متن کاملCross-Platform Development of High Performance Applications Using Generic Programming
We investigate methods for creating highly portable parallel and distributed applications using the programming language C++. The paper elaborates on software engineering issues for efficiently mapping abstract class interfaces to system functionality — typically designed by applying the wrapper facade design pattern — on a large number of target platforms. We introduce a novel mapping techniqu...
متن کاملTowards a Service Ontology Pattern Language
In this paper we partially present an initial version of an Ontology Pattern Language, called S-OPL, describing the core conceptualization of services as a network of interconnected ontology modeling patterns. S-OPL builds on a commitment-based core ontology for services (UFO-S) and has been developed to support the engineering of ontologies involving services in different domains. S-OPL patter...
متن کاملA Design Pattern Language for Engineering (Parallel) Software
The key to writing high quality parallel software is to develop a robust software design. This applies to the overall architecture of the program, but also to the lower layers in the software system where the concurrency and how it is expressed in the final program is defined. Technology to more systematically describe such designs and reuse them between software projects is the fundamental pro...
متن کامل